#pragma once

#include "Device.h"

class GraphicDevice : public Device
{
public:
	GraphicDevice(void);
	virtual ~GraphicDevice(void);

private:
	HRESULT CreateDevice(void);
	HRESULT CreateBuffers(void);
	HRESULT SetViewPort(void);
	HRESULT CompileShaders(void);
	virtual HRESULT OnInit(void);
	virtual HRESULT OnUninit(void);

	D3D_DRIVER_TYPE _driverType;
	IDXGISwapChain * _pSwapChain;
	ID3D11Device * _pd3dDevice;
	D3D_FEATURE_LEVEL _featureLevel;
	ID3D11DeviceContext * _pContext;
	ID3D11RenderTargetView * _pRenderTargetView;
	ID3D11Texture2D * _pDepthStencil;
	ID3D11DepthStencilView * _pDepthStencilView;
	UINT _Width;
	UINT _Height;
};

